package com.junzhiit.nengji.bo;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.bainaeco.framework.base.BaseObject;
import com.bainaeco.framework.util.DateUtil;
import com.bainaeco.framework.util.serializer.CustomDateSerializerHMS;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class BookingBO extends BaseObject {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String id;

	// 预定时间
	@DateTimeFormat(pattern = DateUtil.DATETIME_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date chooseTime;

	// 桌号类型ID
	private String tableTypeId;

	// 店铺ID
	private String shopId;

	// 用户ID
	private String userId;

	// 预约单号
	private String bookingNumber;

	// 第三方交易单号
	private String transactionNumber;
	
	//交易时间
	@DateTimeFormat(pattern = DateUtil.DATETIME_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date payTime;
	
	//订单结束时间
	@DateTimeFormat(pattern = DateUtil.DATETIME_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date endTime;

	// 支付方式
	private Integer payWay;

	// 定金
	private Double money;

	// 人数
	private Integer number;

	// 联系人名称
	private String linkmanName;

	// 联系人性别
	private Integer linkmanSex;

	// 联系人电话号码
	private String linkmanMobilePhone;

	// 预约类型(0:只订座,1:提前点菜)
	private Integer bookingType;

	// 状态(0-未付款(定金)，1-待确认，2-已完成，3-已关闭)
	private Integer status;

	// 备注
	private String remark;
	
	private String tableTypeName;
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Date getChooseTime() {
		return chooseTime;
	}

	public void setChooseTime(Date chooseTime) {
		this.chooseTime = chooseTime;
	}

	public String getTableTypeId() {
		return tableTypeId;
	}

	public void setTableTypeId(String tableTypeId) {
		this.tableTypeId = tableTypeId;
	}

	public String getShopId() {
		return shopId;
	}

	public void setShopId(String shopId) {
		this.shopId = shopId;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getBookingNumber() {
		return bookingNumber;
	}

	public void setBookingNumber(String bookingNumber) {
		this.bookingNumber = bookingNumber;
	}

	public String getTransactionNumber() {
		return transactionNumber;
	}

	public void setTransactionNumber(String transactionNumber) {
		this.transactionNumber = transactionNumber;
	}

	public Integer getPayWay() {
		return payWay;
	}

	public void setPayWay(Integer payWay) {
		this.payWay = payWay;
	}

	public Double getMoney() {
		return money;
	}

	public void setMoney(Double money) {
		this.money = money;
	}

	public Integer getNumber() {
		return number;
	}

	public void setNumber(Integer number) {
		this.number = number;
	}

	public String getLinkmanName() {
		return linkmanName;
	}

	public void setLinkmanName(String linkmanName) {
		this.linkmanName = linkmanName;
	}

	public Integer getLinkmanSex() {
		return linkmanSex;
	}

	public void setLinkmanSex(Integer linkmanSex) {
		this.linkmanSex = linkmanSex;
	}

	public String getLinkmanMobilePhone() {
		return linkmanMobilePhone;
	}

	public void setLinkmanMobilePhone(String linkmanMobilePhone) {
		this.linkmanMobilePhone = linkmanMobilePhone;
	}

	public Integer getBookingType() {
		return bookingType;
	}

	public void setBookingType(Integer bookingType) {
		this.bookingType = bookingType;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getTableTypeName() {
		return tableTypeName;
	}

	public void setTableTypeName(String tableTypeName) {
		this.tableTypeName = tableTypeName;
	}

	public Date getPayTime() {
		return payTime;
	}

	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
}
